﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        List<float> score = new List<float>();
        static void Main(string[] args)
        {
         //一个考试管理系统，需要录入考生成绩，只能录入数字，否则会报类型转换异常。
         //请编写相关代码，
         //1、捕获FormatException异常，并打印输出“异常已处理；
         //2、捕获OverflowException异常，数值超出float范围的异常，并打印输出“异常已处理；
         //3、捕获一般异常Exception异常。
         //4、最终处理finally
         //录入成绩结束后，请输出，总学生数，总分数，平均分。

                float[] num = new float[5];
                float sum = 0;
                float avg = 0;
                for (int i = 0; i < num.Length; i++)
                {
                    try
                    {
                        Console.WriteLine("请录入第{0}个考生的成绩：", (i + 1));
                        num[i] = float.Parse(Console.ReadLine());
                        sum = sum + num[i];

                    }
                    catch (FormatException f)
                    {
                        Console.WriteLine("异常已处理！");
                        Console.WriteLine(f.Message);
                        Console.WriteLine(f.Source);
                        Console.WriteLine(f.StackTrace);
                        throw;
                    }
                    catch (OverflowException o)
                    {
                        Console.WriteLine("数值超出float范围的异常,异常已处理！");
                        Console.WriteLine(o.Message);
                        Console.WriteLine(o.Source);
                        Console.WriteLine(o.StackTrace);
                        throw;
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("异常已处理！");
                        Console.WriteLine(e.Message);
                        Console.WriteLine(e.Source);
                        Console.WriteLine(e.StackTrace);
                        throw;
                    }
                    finally
                    {
                        Console.WriteLine("录入成功！");
                    }
                }
                Console.WriteLine();
                for (int i = 0; i < num.Length; i++)
                {
                    Console.WriteLine("该学生成绩为:{0}",num[i]);
                }
                Console.WriteLine();
                avg = sum / num.Length;
                Console.WriteLine($"总学生数为:{num.Length}，总分数:{sum}，平均分:{avg}");
                Console.ReadKey();
            }
        }
    }